草庐IT

android - Dagger 2 : Module must be set

全部标签

android - 切换到 Android Studio 2.0 后使用 Dagger 2 时出现 NoClassDefFoundError

在升级到AndroidStudio2.0之前,我可以毫无问题地使用Dagger2。现在我得到了一个NoClassDefFoundError这让我关闭了一天多,我正在寻求帮助。似乎Gradle不能使用我的AppModule类,尽管很明显它在我的项目中。我什至包含了setmultiDexEnabledtrue,即使我的项目只有几个文件。我在网上找到的所有内容都说您可以单击要导入的库。AndroidStudio没有这样的奢侈。如有任何帮助,我们将不胜感激,我将永远忠诚于您。04-2117:26:54.0067875-7875/com.androidtitan.spotscoreappE/An

android - Dagger 2 for Android 不是 DI 框架,而是美化了的 Service Locator 吗?

例如,假设我使用Retrofit创建的Rest适配器位于Application类中。我很想在Activity中获取它,所以我编写了以下代码:publicclassMainActivityextendsActivity{@InjectMyRestAdaptermRestAdapter;@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);((GlobalApplication)getApplication()).getComponent().inject(this)

android - 如何修复这个 : on logcat -->> error loading/system/media/audio/ui/Effect_Tick. ogg?

我有一个问题:errorloading/system/media/audio/ui/Effect_Tick.ogg当我点击navdraw图标时显示。任何人都可以帮助我??这是logcat上的错误:04-2001:42:11.240:E/SoundPool(639):errorloading/system/media/audio/ui/Effect_Tick.ogg04-2001:42:11.251:E/SoundPool(639):errorloading/system/media/audio/ui/Effect_Tick.ogg04-2001:42:11.251:E/SoundPoo

java - 适用于 Android 的 Dagger : Injecting an Activity to the object graph after calling setContentView

我想在Android上使用Dagger将Activity的实例注入(inject)到另一个类中,如下所示:classPresentationLayer{ActivitymActivity;@InjectpublicPresentationLayer(Activityactivity){this.mActivity=activity;}publicvoidpresentData(Useruser){((TextView)mActivity.findViewById(R.id.username)).setText(user.getName());//...//...}}我能够进行注入(in

带有 Dagger 2 的 Android MVP - 具有多个 fragment 的 Activity

我一直在查看使用Dagger2的MVP的GoogleAndroid架构示例:https://github.com/googlesamples/android-architecture/blob/todo-mvp-dagger/todoapp/app/src/main/java/com/example/android/architecture/blueprints/todoapp/tasks/TasksActivity.java但是,这个例子相当简单——每个Activity只有一个Fragment,Dagger组件构建在Activity中,并用于将Activity与Presenter注入

android - 在 android 启动时等待服务 media.audio_policy

我正在为我的设备samsungsm-g7102garnd2开发cyanogenmod11但它不启动并在cyanogenmodLogo上提供引导循环。logcat显示如下#W/AudioSystem(684):AudioPolicyServicenotpublished,waiting...I/ServiceManager(684):Waitingforservicemedia.audio_policy...I/ServiceManager(684):Waitingforservicemedia.audio_policy...I/ServiceManager(684):Waitingfo

java - Android Audio - 流式正弦音发生器奇怪的行为

第一次发贴在这里。我通常喜欢自己找到答案(无论是通过研究还是反复试验),但我在这里遇到了困难。我想做什么:我正在构建一个简单的android音频合成器。现在,我只是实时播放正弦音调,UI中的slider会随着用户的调整而改变音调的频率。我是如何构建它的:基本上,我有两个线程——一个工作线程和一个输出线程。每次调用tick()方法时,工作线程只需用正弦波数据填充缓冲区。缓冲区填满后,它会提醒输出线程数据已准备好写入音轨。我使用两个线程的原因是因为audiotrack.write()block,我希望工作线程能够尽快开始处理其数据(而不是等待音轨完成写入)。UI上的slider只是更改工作

带有 Dagger 2 的 Android 普通 Junit

我曾经在MVP工作,我通常使用普通的Junit(不是Instrumentation!)测试我的Presenter,因为Presenter只有业务逻辑,没有任何对Android内部的引用。现在切换到Dagger2后,我了解到我在为我的应用程序组件设置“TestModule”时遇到了问题。在测试类中创建组件将不起作用(可能是因为“apt”没有在那里运行)未找到任何将Dagger与标准Junit测试结合使用的示例。我发现的每个示例都只依赖于Instrumentation测试或Roboelectric(基本上模拟Activity和其他Android相关的东西),但这对我来说只是一个UI测试,我

java - Dagger 2 : Cannot be provided without an @Provides-annotated method

我刚开始学习dagger2,遇到了一个奇怪的问题,在我看来像是一个错误。这是模块:@ModulepublicclassSimpleModule{@ProvidesCookerproviderCooker(){returnnewCooker("tom","natie");}}组件:@Component(modules=SimpleModule.class)publicinterfaceSimpleComponent{voidinject(DaggerTestActivityactivity);}接口(interface):publicinterfaceCoffeeMaker{String

android - 在 Robolectric 测试中覆盖 Dagger 模块

我正在开发一个Android应用程序,我一直在使用Dagger进行依赖注入(inject)。我现在正在尝试测试具有这些依赖项之一的fragment,我们称它为ProductsService。在我的Robolectric测试中,我有一个覆盖ProductsService的测试模块:@Module(includes=ProductsModule.class,injects={Fragment.class,FragmentTest.class},overrides=true)staticclassMockProductsModule{@Provides@SingletonpublicProd